<?php

$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

socket_bind($sock, "127.0.0.1", 80);

socket_listen($sock);

for ( ; ; ) {
    $conn = socket_accept($sock);
    
    $write_buffer = "HTTP/1.0 200 OK\r\nServer: my_server\r\nContent-Type: text/html; charset=utf-8\r\n\r\nhello!world";
    
    socket_write($conn, $write_buffer);
    
    socket_close($conn);
}

/* 
 * socket_create

函数原型: resource socket_create ( int $domain , int $type , int $protocol )

domain：AF_INET、AF_INET6、AF_UNIX，AF的释义就 address family，地址族的意思
type: SOCK_STREAM、SOCK_DGRAM等，最常用的就是SOCK_STREAM，基于字节流的SOCKET类型，也是TCP协议使用的类型
protocol: SOL_TCP、SOL_UDP
socket_bind

函数原型: bool socket_bind ( resource $socket , string $address [, int $port = 0 ] )

socket: 使用socket_create创建的socket资源
address: ip地址
port: 监听的端口号，WEB服务器通常为80端口
socket_listen

函数原型: bool socket_listen ( resource $socket [, int $backlog = 0 ] )

socket: 使用socket_create创建的socket资源
backlog: 等待处理连接队列的最大长度

来源: 实验楼

链接: https://www.shiyanlou.com/courses/987

本课程内容，由作者授权实验楼发布，未经允许，禁止转载、下载及非法传播
 *  
 *  */